home *** CD-ROM | disk | FTP | other *** search
/ Megahits 5 / Megahits 5 (1994)(GTI - Rhein-Main-Soft)(DE)(Disc 2 of 2)[!].iso / archive / show / supervw_lib_82.lha / superview-lib / Programmers / Docs / SuperView_Ref_ENG.doc next >
Text File  |  1994-09-10  |  38KB  |  1,591 lines

  1.  
  2.    $VER: SuperView_Ref_ENG.doc V8.1 (13.8.94)
  3.  
  4.    © 1994 by Andreas R. Kleinert. All rights reserved.
  5.  
  6.    - Feel free to translate this Doc-File into other languages. -
  7.  
  8.        Andreas R. Kleinert,
  9.        Grube Hohe Grethe 23,
  10.        D-57074 Siegen,
  11.        Germany.                        email : Fido 2:2457/345.10
  12.                                                (checked weekly)
  13.  
  14.  
  15.    Please note the version-dependencies :
  16.  
  17.     superview.library      SVObjects      SVDrivers      SVOperators
  18.  
  19.     Version 1              -              -              -
  20.     Version 2              Version 1      -              -
  21.     Version 3-8            Version 1,2    Version 1      -
  22.  
  23.  
  24.    Request at least :  V2+    for SVObjects
  25.                        V3+    for SVDrivers
  26.                        V4+    for bug-fixed ClipBoard-Support
  27.                               with the supplied SVObjects
  28.                        V5+    for bug-fixed GfxBuffer-Functions
  29.                        V6+    for working GfxBuffer-Writing
  30.                               with the supplied SVObjects
  31.                        V7+    for adding/removing single SVObjects/SVDrivers
  32.  
  33.  
  34.    Here is a listing of all currently available functions of the
  35.    superview.library in an Autodoc-like style of description :
  36.  
  37.         SVL_AllocHandle            ; since Version 1
  38.         SVL_FreeHandle
  39.         SVL_CloseDisplay
  40.         SVL_FreeResources
  41.         SVL_SuperView
  42.         SVL_SuperWrite
  43.         SVL_InitHandleAsDOS
  44.         SVL_InitHandleAsClip
  45.         SVL_SetWriteType
  46.         SVL_SetWindowIDCMP
  47.         SVL_SetWindowFlags
  48.         SVL_SetScreenType
  49.         SVL_GetWindowAddress
  50.         SVL_GetScreenAddress
  51.         SVL_GetErrorString
  52.         SVL_SetWriteScreen
  53.         SVL_SetWriteName
  54.         SVL_FileInfoRequest
  55.                    ; no functions added in Version 2
  56.         SVL_GetGlobalDriver        ; since Version 3
  57.         SVL_SetGlobalDriver
  58.         SVL_ReadToGfxBuffer
  59.         SVL_GetGfxBuffer
  60.         SVL_SetGfxBuffer
  61.         SVL_DisplayGfxBuffer
  62.                    ; no functions added in Version 4
  63.                    ; no functions added in Version 5
  64.         SVL_GetSVObjectList        ; since Version 6
  65.         SVL_GetSVDriverList
  66.         SVL_FreeSVObjectList
  67.         SVL_FreeSVDriverList
  68.         SVL_RemoveSVObject         ; since Version 7
  69.         SVL_RemoveSVDriver
  70.         SVL_AddSVObject
  71.         SVL_AddSVDriver
  72.  
  73. -----------------------------------------------------------------------------
  74.    Functions available since Version 1 - 2 :
  75. -----------------------------------------------------------------------------
  76.  
  77.    NAME
  78.         SVL_AllocHandle
  79.  
  80.    SYNOPSIS
  81.  
  82.         APTR SVL_AllocHandle(APTR future)
  83.         D0   -$1e            A1
  84.  
  85.    FUNCTION
  86.  
  87.         Allocates a handle for accessing a Graphic via SVObjects.
  88.  
  89.    INPUT(S)
  90.  
  91.         future - always NULL yet
  92.  
  93.    RESULT
  94.  
  95.         A pointer to a new allocated Handle or NULL, if allocation failed.
  96.  
  97.    WARNING
  98.  
  99.         Test, if the result was NULL, or not !
  100.  
  101.    BUGS
  102.  
  103.         -
  104.  
  105.    SINCE
  106.  
  107.         ... version 1 of the superview.library.
  108.  
  109.    SEE ALSO
  110.  
  111.         SVL_FreeResources, SVL_FreeHandle
  112.  
  113. -----------------------------------------------------------------------------
  114.  
  115.    NAME
  116.         SVL_FreeHandle
  117.  
  118.    SYNOPSIS
  119.  
  120.         VOID SVL_FreeHandle(APTR handle)
  121.         D0   -$24           A1
  122.  
  123.    FUNCTION
  124.  
  125.        Stops showing, frees all Resources and delocates a Handle, which has
  126.        been allocated with SVL_AllocHandle before.
  127.  
  128.  
  129.        For programmers of SVObjects :
  130.  
  131.        Note, that this functions calls
  132.  
  133.           SVL_CloseDisplay(SVHandle);
  134.           SVL_FreeResources(SVHandle);
  135.  
  136.        for internal SVObjects and
  137.  
  138.           SVO_FreeHandle(SVHandle->ah_SVHandle);
  139.  
  140.           CloseLibrary((APTR) SVObjectBase);
  141.  
  142.        for external SVObjects.
  143.        So do not forget to do the SVO_CloseDisplay() and SVO_FreeResources()
  144.        calls inside SVO_FreeHandle().
  145.        Otherwise memory might be lost.
  146.  
  147.    INPUT(S)
  148.  
  149.         handle - a valid handle
  150.  
  151.    RESULT
  152.  
  153.         -
  154.  
  155.    BUGS
  156.  
  157.         This function was buggy for external SVObjects (never closed, memory
  158.         loss) upto V2.4.
  159.  
  160.    SINCE
  161.  
  162.         ... version 1 of the superview.library.
  163.  
  164.    SEE ALSO
  165.  
  166.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeResources
  167.  
  168. -----------------------------------------------------------------------------
  169.  
  170.    NAME
  171.         SVL_CloseDisplay
  172.  
  173.    SYNOPSIS
  174.  
  175.         VOID SVL_CloseDisplay(APTR handle)
  176.         D0   -$2a             A1
  177.  
  178.    FUNCTION
  179.  
  180.         Stops showing the Graphic, indentified by the handle.
  181.         The Display-Screen is closed, but no Resources are given free.
  182.  
  183.    INPUT(S)
  184.  
  185.         handle - a valid handle
  186.  
  187.    RESULT
  188.  
  189.         -
  190.  
  191.    BUGS
  192.  
  193.         -
  194.  
  195.    SINCE
  196.  
  197.         ... version 1 of the superview.library.
  198.  
  199.    SEE ALSO
  200.  
  201.         SVL_FreeResources, SVL_FreeHandle
  202.  
  203. -----------------------------------------------------------------------------
  204.  
  205.    NAME
  206.         SVL_FreeResources
  207.  
  208.    SYNOPSIS
  209.  
  210.         VOID SVL_FreeResources(APTR handle)
  211.         D0   -$30              A1
  212.  
  213.    FUNCTION
  214.  
  215.         Frees all resources belonging to the specific Graphic,
  216.         indentified by the handle, which are not needed to just show it.
  217.         The Display will not be closed.
  218.  
  219.         Note, that SVL_FileInfoRequest() will no longer work, then
  220.         ("No file loaded" or similar request appears).
  221.  
  222.    INPUT(S)
  223.  
  224.         handle - a valid handle
  225.  
  226.    RESULT
  227.  
  228.         -
  229.  
  230.    BUGS
  231.  
  232.         -
  233.  
  234.    SINCE
  235.  
  236.         ... version 1 of the superview.library.
  237.  
  238.    SEE ALSO
  239.  
  240.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeHandle
  241.  
  242. -----------------------------------------------------------------------------
  243.  
  244.    NAME
  245.         SVL_SuperView
  246.  
  247.    SYNOPSIS
  248.  
  249.         ULONG SVL_SuperView(APTR handle, char *filename)
  250.         D0    -$36          A1           A2
  251.  
  252.    FUNCTION
  253.  
  254.         Loads and shows the Graphic described by FileName.
  255.         The handle is initialized and the fitting SVObject is opened
  256.         and accessed for showing the Graphic.
  257.  
  258.         Showing can be stopped either via full delocation of the handle
  259.         or via Closing the Display with SVL_CloseDisplay.
  260.  
  261.    INPUT(S)
  262.  
  263.         handle   - a valid handle
  264.         filename - a valid AmigaDOS FilePath and -Name
  265.  
  266.    RESULT
  267.  
  268.         NULL or an adequate SVERR-Errorcode.
  269.  
  270.    BUGS
  271.  
  272.         -
  273.  
  274.    SINCE
  275.  
  276.         ... version 1 of the superview.library.
  277.  
  278.    SEE ALSO
  279.  
  280.         SVL_AllocHandle, SVL_CloseDisplay, SVL_FreeHandle
  281.  
  282. -----------------------------------------------------------------------------
  283.  
  284.    NAME
  285.         SVL_SuperWrite
  286.  
  287.    SYNOPSIS
  288.  
  289.         ULONG SVL_SuperWrite(APTR handle, APTR source_handle)
  290.         D0    -$3c           A1           A2
  291.  
  292.    FUNCTION
  293.  
  294.         Before Version 3 a Graphic had to be loaded AND showed via
  295.         SVL_SuperView : No separate reading and showing calls were done.
  296.         For writing - that means : converting - a Graphic, you at first
  297.         have to display, then to save it. Use the following order :
  298.  
  299.         (But check the "result" value AFTER EACH function call, like this
  300.          has been done in the example SourceCodes ...)
  301.  
  302.         source_handle = SVL_AllocHandle(N);
  303.         /* result     = SVL_InitHandleAsDOS(source_handle, N); */ /* default */
  304.         result        = SVL_SetWindowIDCMP(source_handle,
  305.                                     IDCMP_MOUSEBUTTONS | IDCMP_VANILLAKEY, N)))
  306.         result        = SVL_SetScreenType(source_handle, CUSTOMSCREEN, N)))
  307.         result        = SVL_SuperView(source_handle, source_filename)))
  308.         result        = SVL_GetScreenAddress(source_handle, &sv_screen, N)))
  309.         result        = SVL_GetWindowAddress(source_handle, &sv_window, N)))
  310.  
  311.         dest_handle   = SVL_AllocHandle(N);
  312.         /* result     = SVL_InitHandleAsDOS(dest_handle, N); */ /* default */
  313.         result        = SVL_SetWriteType(dest_handle, dest_type, N)))
  314.         result        = SVL_SetWriteName(dest_handle, dest_filename, N)))
  315.         result        = SVL_SetWriteScreen(dest_handle, sv_screen, N)))
  316.         result        = SVL_SuperWrite(dest_handle, source_handle);
  317.         SVL_FreeHandle(dest_handle);
  318.  
  319.         SVL_FreeHandle(source_handle);
  320.  
  321.  
  322.         Since Version 3 it is also possible to save the contents of
  323.         SV_GfxBuffers, so that not necessarily a Screen has to be the
  324.         source for writing to Disk/ClipBoard (or to whatever).
  325.         Not all SVObjects may necessarily support this (return-code
  326.         becomes SVERR_ACTION_NOT_SUPPORTED).
  327.         But since Version 6 all of the supplied SVObjects (those which come
  328.         with superview.library and contain Write-Support) allow this.
  329.         So, if you request at least V6+, the likelihood will be with you ...
  330.  
  331.         All available values for dest_type can be found in the specific
  332.         SVObject-List in SuperViewBase.
  333.         The values WILL change with every re-initialization of
  334.         superview.library, so update them with every new opening
  335.         (read them from the SVObject-List inside SuperViewBase or use the
  336.          new functions, which have been introduced with V6).
  337.         Only ILBM.svobject and ACBM.svobject (and the internal Datatype-
  338.         svobject, which cannot be used for saving, anyway) keep the same
  339.         values for compatibility reasons, but since two of these are now
  340.         external you might not be sure, if they are available
  341.         (which means : actually in "LIBS:svobjects") or not ...
  342.  
  343.    INPUT(S)
  344.  
  345.         handle        - a valid handle        (used for Write Access)
  346.         source_handle - an other valid handle (used for Read Access)
  347.  
  348.    RESULT
  349.  
  350.         NULL or an adequate SVERR-Errorcode.
  351.  
  352.    BUGS
  353.  
  354.         -
  355.  
  356.    SINCE
  357.  
  358.         ... version 1 of the superview.library.
  359.  
  360.    SEE ALSO
  361.  
  362.  
  363.  
  364.         SVL_AllocHandle, SVL_FreeHandle
  365.  
  366. -----------------------------------------------------------------------------
  367.  
  368.    NAME
  369.         SVL_InitHandleAsDOS
  370.  
  371.    SYNOPSIS
  372.  
  373.         ULONG SVL_InitHandleAsDOS(APTR handle, APTR future)
  374.         D0    -$42                A1           A2
  375.  
  376.    FUNCTION
  377.  
  378.         Initializes a Handle for AmigaDOS access, so that the given
  379.         AmigaDOS FileNames are used.
  380.         Another possibility is sometimes to initialize Handles
  381.         for ClipBoard Access (depending on the specific SVObject,
  382.         e.g. IFF-ILBM).
  383.  
  384.    INPUT(S)
  385.  
  386.         handle - a valid handle
  387.         future - always NULL yet
  388.  
  389.    RESULT
  390.  
  391.         NULL or an adequate SVERR-Errorcode.
  392.  
  393.    BUGS
  394.  
  395.         During V2.4 upto V3.8 this was done automatically ALWAYS.
  396.         This was fixed in V4.1
  397.         See BUGS under SVL_InitHandleAsClip.
  398.  
  399.    SINCE
  400.  
  401.         ... version 1 of the superview.library.
  402.  
  403.    SEE ALSO
  404.  
  405.  
  406.  
  407.         SVL_InitHandleAsClip
  408.  
  409. -----------------------------------------------------------------------------
  410.  
  411.    NAME
  412.         SVL_InitHandleAsClip
  413.  
  414.    SYNOPSIS
  415.  
  416.         ULONG SVL_InitHandleAsClip(APTR handle, APTR future)
  417.         D0    -$48                 A1           A2
  418.  
  419.    FUNCTION
  420.  
  421.         Initializes a Handle for ClipBoard access, so that the (possibly)
  422.         given AmigaDOS FileNames are ignored.
  423.         The nearly always used possibility is to initialize Handles
  424.         for AmigaDOS Access (supported by ALL SVObjects).
  425.  
  426.    INPUT(S)
  427.  
  428.         handle - a valid handle
  429.         future - always NULL yet
  430.  
  431.    RESULT
  432.  
  433.         NULL or an adequate SVERR-Errorcode.
  434.  
  435.    BUGS
  436.  
  437.         From 2.4 to 3.8 this function-call was useless, since
  438.         superview.library blocked all medias other than
  439.         AKO_MEDIUM_DISK for external SVObjects :
  440.         For reading calls, this resulted in a "file not found" message
  441.         from superview.library, for writing calls, this resulted in an
  442.         empty filename string, which caused the SVObject to reject the
  443.         disk access (other accesses were not set correctly).
  444.         This was fixed in 4.1, by using the SVO_SetAccessMode() function
  445.         with the right parameters now and by using the "future" parameter
  446.         of SVO_CheckFileType() - only when using other media than
  447.         AKO_MEDIUM_DISK - as a pointer to an additional SVOCheckFileInfo
  448.         structure now.
  449.         This is 100% compatible, since superview.library has always set
  450.         this value to NULL, so that older SVObjects will simply ignore
  451.         this pointer and newer versions will only interpret it, if it's
  452.         not NULL.
  453.  
  454.    SINCE
  455.  
  456.         ... version 1 of the superview.library. (request V4+)
  457.  
  458.    SEE ALSO
  459.  
  460.         SVL_InitHandleAsDOS
  461.  
  462. -----------------------------------------------------------------------------
  463.  
  464.    NAME
  465.         SVL_SetWriteType
  466.  
  467.    SYNOPSIS
  468.  
  469.         ULONG SVL_SetWriteType(APTR handle, ULONG write_type, APTR future)
  470.         D0    -$4e             A1           A2                A3
  471.  
  472.    FUNCTION
  473.  
  474.         Sets the write_type for a SVL_SuperWrite() call.
  475.         See description there and example SourceCodes for more and
  476.         detailed information.
  477.  
  478.    INPUT(S)
  479.  
  480.         handle     - a valid handle
  481.         write_type - a valid temporary SubTypeCode from the SVObject-List
  482.         future     - always NULL yet
  483.  
  484.    RESULT
  485.  
  486.         NULL or an adequate SVERR-Errorcode.
  487.  
  488.    BUGS
  489.  
  490.         -
  491.  
  492.    SINCE
  493.  
  494.         ... version 1 of the superview.library.
  495.  
  496.    SEE ALSO
  497.  
  498.         SVL_SuperWrite
  499.  
  500. -----------------------------------------------------------------------------
  501.  
  502.    NAME
  503.         SVL_SetWindowIDCMP
  504.  
  505.    SYNOPSIS
  506.  
  507.         ULONG SVL_SetWindowIDCMP(APTR handle, ULONG idcmp, APTR future)
  508.         D0    -$54               A1           A2           A3
  509.  
  510.    FUNCTION
  511.  
  512.         Sets the default IDCMP-Flags for a SVL_SuperView() call.
  513.         While displaying, the Address of the Window can be get via the
  514.         SVL_GetWindowAddress() function.
  515.         See description there and example SourceCodes for more and
  516.         detailed information.
  517.  
  518.    INPUT(S)
  519.  
  520.         handle - a valid handle
  521.         idcmp  - a valid number of IDCMP-Flags
  522.         future - always NULL yet
  523.  
  524.    RESULT
  525.  
  526.         NULL or an adequate SVERR-Errorcode.
  527.  
  528.    BUGS
  529.  
  530.         -
  531.  
  532.    SINCE
  533.  
  534.         ... version 1 of the superview.library.
  535.  
  536.    SEE ALSO
  537.  
  538.         SVL_SuperView
  539.  
  540. -----------------------------------------------------------------------------
  541.  
  542.    NAME
  543.         SVL_SetWindowFlags
  544.  
  545.    SYNOPSIS
  546.  
  547.         ULONG SVL_SetWindowFlags(APTR handle, ULONG flags, APTR future)
  548.         D0    -$5a               A1           A2           A3
  549.  
  550.    FUNCTION
  551.  
  552.         Sets the default Window-Flags for a SVL_SuperView() call.
  553.         While displaying, the Address of the Window can be get via the
  554.         SVL_GetWindowAddress() function.
  555.         See description there and example SourceCodes for more and
  556.         detailed information.
  557.  
  558.    INPUT(S)
  559.  
  560.         handle - a valid handle
  561.         flags  - a valid number of Window-Flags
  562.         future - always NULL yet
  563.  
  564.    RESULT
  565.  
  566.         NULL or an adequate SVERR-Errorcode.
  567.  
  568.    BUGS
  569.  
  570.         -
  571.  
  572.    SINCE
  573.  
  574.         ... version 1 of the superview.library.
  575.  
  576.    SEE ALSO
  577.  
  578.         SVL_SuperView
  579.  
  580. -----------------------------------------------------------------------------
  581.  
  582.    NAME
  583.         SVL_SetScreenType
  584.  
  585.    SYNOPSIS
  586.  
  587.         ULONG SVL_SetScreenType(APTR handle, ULONG type, APTR future)
  588.         D0    -$60              A1           A2          A3
  589.  
  590.    FUNCTION
  591.  
  592.         Sets the default Screen-Type for a SVL_SuperView() call.
  593.         While displaying, the Address of the Screen can be get via the
  594.         SVL_GetScreenAddress() function.
  595.         See description there and example SourceCodes for more and
  596.         detailed information.
  597.  
  598.    INPUT(S)
  599.  
  600.         handle - a valid handle
  601.         type   - a valid ScreenType value (e.g. CUSTOMSCREEN)
  602.         future - always NULL yet
  603.  
  604.    RESULT
  605.  
  606.         NULL or an adequate SVERR-Errorcode.
  607.  
  608.    BUGS
  609.  
  610.         -
  611.  
  612.    SINCE
  613.  
  614.         ... version 1 of the superview.library.
  615.  
  616.    SEE ALSO
  617.  
  618.         SVL_SuperView
  619.  
  620. -----------------------------------------------------------------------------
  621.  
  622.    NAME
  623.         SVL_GetWindowAddress
  624.  
  625.    SYNOPSIS
  626.  
  627.         ULONG SVL_GetWindowAddress(APTR handle, struct Window **window,
  628.         D0    -$66                 A1           A2
  629.  
  630.                                    APTR future)
  631.                                    A3
  632.  
  633.    FUNCTION
  634.  
  635.         While displaying, the Address of the DisplayWindow can be get
  636.         via this function.
  637.         See description there and example SourceCodes for more and
  638.         detailed information.
  639.  
  640.    INPUT(S)
  641.  
  642.         handle - a valid handle
  643.         window - a valid address of a Window-Pointer
  644.         future - always NULL yet
  645.  
  646.    RESULT
  647.  
  648.         NULL or an adequate SVERR-Errorcode.
  649.  
  650.    BUGS
  651.  
  652.         -
  653.  
  654.    SINCE
  655.  
  656.         ... version 1 of the superview.library.
  657.  
  658.    SEE ALSO
  659.  
  660.         SVL_SuperWrite
  661.  
  662. -----------------------------------------------------------------------------
  663.  
  664.    NAME
  665.         SVL_GetScreenAddress
  666.  
  667.    SYNOPSIS
  668.  
  669.         ULONG SVL_GetScreenAddress(APTR handle, struct Screen **screen,
  670.         D0    -$66                 A1           A2
  671.  
  672.                                    APTR future)
  673.                                    A3
  674.  
  675.    FUNCTION
  676.  
  677.         While displaying, the Address of the DisplayScreen can be get
  678.         via this function.
  679.         See description there and example SourceCodes for more and
  680.         detailed information.
  681.  
  682.    INPUT(S)
  683.  
  684.         handle - a valid handle
  685.         screen - a valid address of a Screen-Pointer
  686.         future - always NULL yet
  687.  
  688.    RESULT
  689.  
  690.         NULL or an adequate SVERR-Errorcode.
  691.  
  692.    BUGS
  693.  
  694.         -
  695.  
  696.    SINCE
  697.  
  698.         ... version 1 of the superview.library.
  699.  
  700.    SEE ALSO
  701.  
  702.         SVL_SuperWrite
  703.  
  704. -----------------------------------------------------------------------------
  705.  
  706.    NAME
  707.         SVL_GetErrorString
  708.  
  709.    SYNOPSIS
  710.  
  711.         char * SVL_GetErrorString(ULONG error_code)
  712.         D0    -$72                A1
  713.  
  714.    FUNCTION
  715.  
  716.         Returns the Error Message for a specific Error Code, returned
  717.         by any function of the superview.library.
  718.  
  719.    INPUT(S)
  720.  
  721.         error_code - any SVERR Error Code
  722.  
  723.    RESULT
  724.  
  725.         read-only pointer to a SVERR Error String
  726.  
  727.    BUGS
  728.  
  729.         -
  730.  
  731.    SINCE
  732.  
  733.         ... version 1 of the superview.library.
  734.  
  735.    SEE ALSO
  736.  
  737.         -
  738.  
  739. -----------------------------------------------------------------------------
  740.  
  741.    NAME
  742.         SVL_SetWriteScreen
  743.  
  744.    SYNOPSIS
  745.  
  746.         ULONG SVL_SetWriteScreen(APTR handle, struct Screen *screen,
  747.         D0    -$78               A1           A2
  748.  
  749.                                  APTR future)
  750.                                  A3
  751.  
  752.    FUNCTION
  753.  
  754.         Sets the Source Screen for a SVL_SuperWrite() call.
  755.         See description there and example SourceCodes for more and
  756.         detailed information.
  757.  
  758.         This will overwrite a previously done SVL_SetGfxBuffer() call.
  759.  
  760.    INPUT(S)
  761.  
  762.         handle - a valid handle
  763.         screen - a valid pointer to an opened Screen
  764.         future - always NULL yet
  765.  
  766.    RESULT
  767.  
  768.         NULL or an adequate SVERR-Errorcode.
  769.  
  770.    BUGS
  771.  
  772.         -
  773.  
  774.    SINCE
  775.  
  776.         ... version 1 of the superview.library.
  777.  
  778.    SEE ALSO
  779.  
  780.         SVL_SuperWrite
  781.  
  782. -----------------------------------------------------------------------------
  783.  
  784.    NAME
  785.         SVL_SetWriteName
  786.  
  787.    SYNOPSIS
  788.  
  789.         ULONG SVL_SetWriteName(APTR handle, ULONG write_name, APTR future)
  790.         D0    -$7e             A1           A2                A3
  791.  
  792.    FUNCTION
  793.  
  794.         Sets the write_name for a SVL_SuperWrite() call.
  795.         See description there and example SourceCodes for more and
  796.         detailed information.
  797.  
  798.    INPUT(S)
  799.  
  800.         handle     - a valid handle
  801.         write_name - a valid AmigaDOS FilePath and -Name description
  802.         future     - always NULL yet
  803.  
  804.  
  805.    RESULT
  806.  
  807.         NULL or an adequate SVERR-Errorcode.
  808.  
  809.    BUGS
  810.  
  811.         -
  812.  
  813.    SINCE
  814.  
  815.         ... version 1 of the superview.library.
  816.  
  817.    SEE ALSO
  818.  
  819.         SVL_SuperWrite
  820.  
  821. -----------------------------------------------------------------------------
  822.  
  823.    NAME
  824.         SVL_FileInfoRequest
  825.  
  826.    SYNOPSIS
  827.  
  828.         ULONG SVL_FileInfoRequest(APTR handle, struct Window *window,
  829.         D0    -$84                A1           A2
  830.  
  831.                                   APTR future)
  832.                                   A3
  833.  
  834.    FUNCTION
  835.  
  836.         Pops up an Info-Requester with more or less detailed information
  837.         on the currently loaded Graphic.
  838.         A window pointer may be given to select the place to pop it up.
  839.  
  840.         Note, that this function will fail, if you already called
  841.         SVL_FreeResources() (might result in a "No file loaded" message) !
  842.  
  843.    INPUT(S)
  844.  
  845.         handle - a valid handle
  846.         window - a valid Window Pointer or NULL
  847.         future - always NULL yet
  848.  
  849.    RESULT
  850.  
  851.         NULL or an adequate SVERR-Errorcode.
  852.  
  853.    BUGS
  854.  
  855.         None known, but :
  856.         For non-internal SVObjects SVO_FileInfoRequest() is called, thus
  857.         if this one is buggy, ...
  858.  
  859.         The Easy-Requester (or whatever else it is) will usually be attached
  860.         to IntuitionBase->ActiveWindow, if window is NULL.
  861.         This may cause problems sometimes, so always specify a WindowPtr,
  862.         if possible !
  863.  
  864.    SINCE
  865.  
  866.         ... version 1 of the superview.library.
  867.  
  868.    SEE ALSO
  869.  
  870.         -
  871.  
  872. -----------------------------------------------------------------------------
  873.    Functions added with Version 3 - 5 :
  874. -----------------------------------------------------------------------------
  875.  
  876.    NAME
  877.         SVL_GetGlobalDriver
  878.  
  879.    SYNOPSIS
  880.  
  881.         ULONG SVL_GetGlobalDriver(struct SVD_DriverNode **driver,
  882.         D0    -$8a                A1
  883.  
  884.                                   ULONG future)
  885.                                   A2
  886.  
  887.    FUNCTION
  888.  
  889.         Gets the Global Default ScreenDriver (SVDriver) from the
  890.         specific field of SuperViewBase.
  891.  
  892.         Always use this function. Do not access SuperViewBase directly !
  893.  
  894.    INPUT(S)
  895.  
  896.         driver - a pointer to a SVD_DriverNode pointer
  897.         future - always NULL yet
  898.  
  899.  
  900.    RESULT
  901.  
  902.         NULL or an adequate SVERR-Errorcode.
  903.  
  904.    BUGS
  905.  
  906.         -
  907.  
  908.    SINCE
  909.  
  910.         ... version 3 of the superview.library.
  911.  
  912.    SEE ALSO
  913.  
  914.         SVL_SetGlobalDriver()
  915.  
  916. -----------------------------------------------------------------------------
  917.  
  918.    NAME
  919.         SVL_SetGlobalDriver
  920.  
  921.    SYNOPSIS
  922.  
  923.         ULONG SVL_SetGlobalDriver(struct SVD_DriverNode *driver,
  924.         D0    -$90                A1
  925.  
  926.                                   ULONG future)
  927.                                   A2
  928.  
  929.    FUNCTION
  930.  
  931.         Sets a new Global Default ScreenDriver (SVDriver) in the
  932.         specific field of SuperViewBase.
  933.  
  934.         Always use this function. Do not access SuperViewBase directly !
  935.  
  936.    INPUT(S)
  937.  
  938.         driver - a pointer to a SVD_DriverNode
  939.         future - always NULL yet
  940.  
  941.    RESULT
  942.  
  943.         NULL or an adequate SVERR-Errorcode.
  944.  
  945.    BUGS
  946.  
  947.         -
  948.  
  949.    SINCE
  950.  
  951.         ... version 3 of the superview.library.
  952.  
  953.    SEE ALSO
  954.  
  955.         SVL_GetGlobalDriver()
  956.  
  957. -----------------------------------------------------------------------------
  958.  
  959.    NAME
  960.         SVL_ReadToGfxBuffer
  961.  
  962.    SYNOPSIS
  963.  
  964.         ULONG SVL_ReadToGfxBuffer(APTR handle, char *filename)
  965.         D0    -$96                A1           A2
  966.  
  967.    FUNCTION
  968.  
  969.         Reads the graphic file - specified with filename - into
  970.         a SV_GfxBuffer structure.
  971.  
  972.         Access to this structure can be managed via SVL_GetGfxBuffer().
  973.  
  974.         The combination SVL_ReadToGfxBuffer() and SVL_DisplayGfxBuffer()
  975.         has the same effect as a call to SVL_SuperView().
  976.         But note, that GfxBuffer-functions only work with Version 2
  977.         SVObjects, while SVL_SuperView() also fits to Version 1 SVObjects.
  978.         Internally, the result is the same, anyway.
  979.  
  980.    INPUT(S)
  981.  
  982.         handle   - a valid handle
  983.         filename - a valid AmigaDOS FilePath and -Name
  984.  
  985.    RESULT
  986.  
  987.         NULL or an adequate SVERR-Errorcode.
  988.  
  989.    BUGS
  990.  
  991.         This function was broken from V3.x to V4.x !
  992.  
  993.    SINCE
  994.  
  995.         ... version 3 of the superview.library. (request V5+)
  996.  
  997.    SEE ALSO
  998.  
  999.         SVL_GetGfxBuffer(), SVL_DisplayGfxBuffer()
  1000.  
  1001. -----------------------------------------------------------------------------
  1002.  
  1003.    NAME
  1004.         SVL_GetGfxBuffer
  1005.  
  1006.    SYNOPSIS
  1007.  
  1008.         ULONG SVL_GetGfxBuffer(APTR handle, struct SV_GfxBuffer **buffer,
  1009.         D0    -$9c             A1           A2
  1010.  
  1011.                                ULONG future)
  1012.                                A3
  1013.  
  1014.  
  1015.    FUNCTION
  1016.  
  1017.         For READ accessing the SV_GfxBuffer structure, which has been
  1018.         created with SVL_ReadGfxBuffer() before.
  1019.  
  1020.         Do not change, write to or free this structure by hand.
  1021.         Nevertheless you may create your own structures.
  1022.  
  1023.    INPUT(S)
  1024.  
  1025.         handle - a valid handle
  1026.         buffer - a pointer to a valid SV_GfxBuffer pointer
  1027.         future - always NULL yet
  1028.  
  1029.  
  1030.    RESULT
  1031.  
  1032.         NULL or an adequate SVERR-Errorcode.
  1033.  
  1034.    BUGS
  1035.  
  1036.         This function was broken from V3.x to V4.x !
  1037.  
  1038.    SINCE
  1039.  
  1040.         ... version 3 of the superview.library. (request V5+)
  1041.  
  1042.    SEE ALSO
  1043.  
  1044.         SVL_ReadGfxBuffer(), SVL_DisplayGfxBuffer()
  1045.  
  1046. -----------------------------------------------------------------------------
  1047.  
  1048.    NAME
  1049.         SVL_SetGfxBuffer
  1050.  
  1051.    SYNOPSIS
  1052.  
  1053.         ULONG SVL_SetGfxBuffer(APTR handle, struct SV_GfxBuffer *buffer,
  1054.         D0    -$a2             A1           A2
  1055.  
  1056.                                ULONG future)
  1057.                                A3
  1058.  
  1059.  
  1060.    FUNCTION
  1061.  
  1062.         This functions allows you to pass your own, self-created
  1063.         SV_GfxBuffer structures or also structures accessed via
  1064.         SVL_GetGfxBuffer() to the library.
  1065.  
  1066.         This will overwrite a previously done SVL_SetWriteScreen() call.
  1067.  
  1068.         The next SVL_SuperWrite() call will use the supplied SV_GfxBuffer
  1069.         as the source for creating the destinaion graphics file.
  1070.  
  1071.         The structures still have to be freed the way they have been
  1072.         allocated : - self-created       : ...
  1073.                     - SVL_GetGfxBuffer() : SVL_FreeResources(),
  1074.                                            SVL_FreeHandle()
  1075.  
  1076.    INPUT(S)
  1077.  
  1078.         handle - a valid handle
  1079.         buffer - a valid SV_GfxBuffer pointer
  1080.         future - always NULL yet
  1081.  
  1082.    RESULT
  1083.  
  1084.         NULL or an adequate SVERR-Errorcode.
  1085.  
  1086.    WARNING
  1087.  
  1088.         Before V6 the documentation said under FUNCTION :
  1089.         "If also a valid Screen Pointer is supplied, the SV_GfxBuffer
  1090.          is ignored".
  1091.  
  1092.         There's no guarantee for that AND you never should supply
  1093.         TWO Sources for ONE Destination.
  1094.  
  1095.         GfxBuffer-Writing works since V6 with the supplied SVObjects
  1096.         and they do prefer GfxBuffers, NOT Screens.
  1097.         Screens have to be converted into GfxBuffers internally, before
  1098.         they can written, so GfxBuffers should take less memory ...
  1099.         Last not least : This function was broken upto V5, anyway.
  1100.  
  1101.    BUGS
  1102.  
  1103.         This function was broken from V3.x to V5.x !
  1104.  
  1105.    SINCE
  1106.  
  1107.         ... version 3 of the superview.library. (request V6+)
  1108.  
  1109.    SEE ALSO
  1110.  
  1111.         SVL_ReadGfxBuffer(), SVL_SuperWrite()
  1112.  
  1113. -----------------------------------------------------------------------------
  1114.  
  1115.    NAME
  1116.         SVL_DisplayGfxBuffer
  1117.  
  1118.    SYNOPSIS
  1119.  
  1120.         ULONG SVL_DisplayGfxBuffer(APTR handle, struct SV_GfxBuffer *buffer,
  1121.         D0    -$a8                 A1           A2
  1122.  
  1123.                                    ULONG future)
  1124.                                    A3
  1125.  
  1126.  
  1127.    FUNCTION
  1128.  
  1129.         The combination SVL_ReadToGfxBuffer() and SVL_DisplayGfxBuffer()
  1130.         has the same effect as a call to SVL_SuperView().
  1131.         But note, that GfxBuffer-functions only work with Version 2
  1132.         SVObjects, while SVL_SuperView() also fits to Version 1 SVObjects.
  1133.         Internally, the result is the same, anyway.
  1134.  
  1135.         The difference is : Multiple displaying is possible
  1136.         (SVL_DisplayGfxBuffer(), SVL_CloseDisplay(), SVL_DisplayGfxBuffer(),
  1137.          ... and so on).
  1138.  
  1139.         The SV_GfxBuffer still has to be freed the way it has been
  1140.         allocated : - self-created       : ...
  1141.                     - SVL_GetGfxBuffer() : SVL_FreeResources(),
  1142.                                            SVL_FreeHandle()
  1143.  
  1144.    INPUT(S)
  1145.  
  1146.         handle - a valid handle
  1147.         buffer - a valid SV_GfxBuffer pointer
  1148.         future - always NULL yet
  1149.  
  1150.    RESULT
  1151.  
  1152.         NULL or an adequate SVERR-Errorcode.
  1153.  
  1154.    WARNING
  1155.  
  1156.         Only pass the ORIGINAL SV_GfxBuffer pointer to this function
  1157.         (get it via SVL_GetGfxBuffer()) !
  1158.         Currently this Buffer-pointer is not really passed through
  1159.         to the SVObjects : They always use the pointer, which they
  1160.         initialized while loading the picture.
  1161.  
  1162.         So if you would pass a pointer to an other GfxBuffer, it would be
  1163.         be simply ignored and the internal pointer would be used, if valid.
  1164.         On the other hand, do NEVER set this pointer simply to NULL
  1165.         (thinking : it'll be ignored, anyway), because this may change
  1166.         in future versions !
  1167.  
  1168.    BUGS
  1169.  
  1170.         -
  1171.  
  1172.    SINCE
  1173.  
  1174.         ... version 3 of the superview.library.
  1175.  
  1176.    SEE ALSO
  1177.  
  1178.         SVL_ReadGfxBuffer(), SVL_SuperWrite()
  1179.  
  1180. -----------------------------------------------------------------------------
  1181.    Functions added with Version 6 :
  1182. -----------------------------------------------------------------------------
  1183.  
  1184.    NAME
  1185.         SVL_GetSVObjectList
  1186.  
  1187.    SYNOPSIS
  1188.  
  1189.         ULONG SVL_GetSVObjectList(struct SVObjectInfo **listhead)
  1190.         D0    -$ae                A1
  1191.  
  1192.    FUNCTION
  1193.  
  1194.         Creates a simplified list of all SVObjects (SubTypes), which
  1195.         may be used for read-only purposes until it has been freed
  1196.         via SVL_FreeSVObjectList.
  1197.  
  1198.    INPUT(S)
  1199.  
  1200.         listhead - a pointer to a SVObjectInfo structure pointer
  1201.  
  1202.    RESULT
  1203.  
  1204.         NULL or an adequate SVERR-Errorcode.
  1205.  
  1206.    BUGS
  1207.  
  1208.         This functions was slightly buggy in V6.x versions.
  1209.         The List was not chained right, so that only the last
  1210.         SubType of each SVObject was linked to the list and the rest
  1211.         went to Nirwana, so that there also was a (small) memory loss.
  1212.         This bug has been fixed in V7.1.
  1213.  
  1214.    SINCE
  1215.  
  1216.         ... version 6 of the superview.library. (request V7+)
  1217.  
  1218.    SEE ALSO
  1219.  
  1220.         SVL_FreeSVObjectList
  1221.  
  1222. -----------------------------------------------------------------------------
  1223.  
  1224.    NAME
  1225.         SVL_GetSVDriverList
  1226.  
  1227.    SYNOPSIS
  1228.  
  1229.         ULONG SVL_GetSVDriverList(struct SVDriverInfo **listhead)
  1230.         D0    -$b4                A1
  1231.  
  1232.    FUNCTION
  1233.  
  1234.         Creates a simplified list of all SVDrivers, which
  1235.         may be used for read-only purposes until it has been freed
  1236.         via SVL_FreeSVDriverList.
  1237.  
  1238.    INPUT(S)
  1239.  
  1240.         listhead - a pointer to a SVDriverInfo structure pointer
  1241.  
  1242.    RESULT
  1243.  
  1244.         NULL or an adequate SVERR-Errorcode.
  1245.  
  1246.    BUGS
  1247.  
  1248.         -
  1249.  
  1250.    SINCE
  1251.  
  1252.         ... version 6 of the superview.library.
  1253.  
  1254.    SEE ALSO
  1255.  
  1256.         SVL_FreeSVDriverList
  1257.  
  1258. -----------------------------------------------------------------------------
  1259.  
  1260.    NAME
  1261.         SVL_FreeSVObjectList
  1262.  
  1263.    SYNOPSIS
  1264.  
  1265.         ULONG SVL_FreeSVObjectList(struct SVObjectInfo *listhead)
  1266.         D0    -$ba                 A1
  1267.  
  1268.    FUNCTION
  1269.  
  1270.         Frees a list returned by SVL_GetSVObjectList.
  1271.  
  1272.         Pass the List-Header, not an entry !
  1273.  
  1274.    INPUT(S)
  1275.  
  1276.         listhead - a pointer to a SVObjectInfo structure
  1277.  
  1278.    RESULT
  1279.  
  1280.         NULL or an adequate SVERR-Errorcode.
  1281.  
  1282.    BUGS
  1283.  
  1284.         -
  1285.  
  1286.    SINCE
  1287.  
  1288.         ... version 6 of the superview.library.
  1289.  
  1290.    SEE ALSO
  1291.  
  1292.         SVL_GetSVObjectList
  1293.  
  1294. -----------------------------------------------------------------------------
  1295.  
  1296.    NAME
  1297.         SVL_FreeSVDriverList
  1298.  
  1299.    SYNOPSIS
  1300.  
  1301.         ULONG SVL_FreeSVDriverList(struct SVDriverInfo *listhead)
  1302.         D0    -$c0                 A1
  1303.  
  1304.    FUNCTION
  1305.  
  1306.         Frees a list returned by SVL_GetSVDriverList.
  1307.  
  1308.         Pass the List-Header, not an entry !
  1309.  
  1310.    INPUT(S)
  1311.  
  1312.         listhead - a pointer to a SVDriverInfo structure
  1313.  
  1314.    RESULT
  1315.  
  1316.         NULL or an adequate SVERR-Errorcode.
  1317.  
  1318.    BUGS
  1319.  
  1320.         -
  1321.  
  1322.    SINCE
  1323.  
  1324.         ... version 6 of the superview.library.
  1325.  
  1326.    SEE ALSO
  1327.  
  1328.         SVL_GetSVDriverList
  1329.  
  1330. -----------------------------------------------------------------------------
  1331.    Functions added with Version 7 :
  1332. -----------------------------------------------------------------------------
  1333.  
  1334.    NAME
  1335.         SVL_RemoveSVObject
  1336.  
  1337.    SYNOPSIS
  1338.  
  1339.         ULONG SVL_RemoveSVObject(struct SVO_ObjectNode *svo_node)
  1340.         D0    -$c6               A1
  1341.  
  1342.    FUNCTION
  1343.  
  1344.         Removes an SVObject from the internal List of SVObjects and tries
  1345.         to remove it from memory.
  1346.  
  1347.         This does only work, if not more than one programm is accessing
  1348.         superview.library and the SVObject.
  1349.  
  1350.         ***
  1351.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOBJECT-LISTS
  1352.         AFTER SUCH AN ACTION !
  1353.         ***
  1354.  
  1355.    INPUT(S)
  1356.  
  1357.         svo_node - a pointer to a SVO_ObjectNode structure
  1358.  
  1359.    RESULT
  1360.  
  1361.         boolean value
  1362.  
  1363.    WARNING
  1364.  
  1365.         This function invalidates the internal SVObject-List of
  1366.         superview.library.
  1367.         Remember to update your personal copies of this list,
  1368.         before accessing any specific SVObjects again
  1369.         (e.g. for Write-Operations).
  1370.  
  1371.    BUGS
  1372.  
  1373.         No bugs known yet.
  1374.         But this function operates "deep in the system", so that
  1375.         there may occur interferences in very special situations
  1376.         (but usuallly should not).
  1377.  
  1378.    SINCE
  1379.  
  1380.         ... version 7 of the superview.library.
  1381.  
  1382.    SEE ALSO
  1383.  
  1384.         SVL_RemoveSVDriver
  1385.  
  1386. -----------------------------------------------------------------------------
  1387.  
  1388.    NAME
  1389.         SVL_RemoveSVDriver
  1390.  
  1391.    SYNOPSIS
  1392.  
  1393.         ULONG SVL_RemoveSVDriver(struct SVD_DriverNode *svd_node)
  1394.         D0    -$cc               A1
  1395.  
  1396.    FUNCTION
  1397.  
  1398.         Removes an SVDriver from the internal List of SVDrivers and tries
  1399.         to remove it from memory.
  1400.  
  1401.         This does only work, if not more than one programm is accessing
  1402.         superview.library and the SVDriver.
  1403.  
  1404.         ***
  1405.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVDRIVER-LISTS
  1406.         AFTER SUCH AN ACTION !
  1407.         ***
  1408.  
  1409.    INPUT(S)
  1410.  
  1411.         svd_node - a pointer to a SVD_DriverNode structure
  1412.  
  1413.    RESULT
  1414.  
  1415.         boolean value
  1416.  
  1417.    WARNING
  1418.  
  1419.         This function invalidates the internal SVDriver-List of
  1420.         superview.library.
  1421.         Remember to update your personal copies of this list,
  1422.         before accessing any specific SVDrivers again
  1423.         (e.g. for displaying graphics).
  1424.  
  1425.    BUGS
  1426.  
  1427.         No bugs known yet.
  1428.         But this function operates "deep in the system", so that
  1429.         there may occur interferences in very special situations
  1430.         (but usuallly should not).
  1431.  
  1432.    SINCE
  1433.  
  1434.         ... version 7 of the superview.library.
  1435.  
  1436.    SEE ALSO
  1437.  
  1438.         SVL_RemoveSVObject
  1439.  
  1440. -----------------------------------------------------------------------------
  1441.  
  1442.    NAME
  1443.         SVL_AddSVObject
  1444.  
  1445.    SYNOPSIS
  1446.  
  1447.         ULONG SVL_AddSVObject(UBYTE *name)
  1448.         D0    -$d2            A1
  1449.  
  1450.    FUNCTION
  1451.  
  1452.         Tries to open the specified SVObject (full AmigaDOS-Path) and
  1453.         attempts to add it to the internal Lists.
  1454.  
  1455.         ***
  1456.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVOBJECT-LISTS
  1457.         AFTER SUCH AN ACTION !
  1458.         ***
  1459.  
  1460.    INPUT(S)
  1461.  
  1462.         name - full AmigaDOS-Path of the SVObject to add to the lists
  1463.  
  1464.    RESULT
  1465.  
  1466.         boolean value
  1467.  
  1468.    WARNING
  1469.  
  1470.         This function invalidates the internal SVObject-List of
  1471.         superview.library.
  1472.         Remember to update your personal copies of this list,
  1473.         before accessing any specific SVObjects again
  1474.         (e.g. for Write-Operations).
  1475.  
  1476.         Secondly, it is not checked, whether the added Library is
  1477.         _really_ a SVObject.
  1478.         Adding other libraries may result in a damaged internal
  1479.         SVObject-List in superview.library.
  1480.  
  1481.    SINCE
  1482.  
  1483.         ... version 7 of the superview.library.
  1484.  
  1485.    SEE ALSO
  1486.  
  1487.         SVL_AddSVDriver
  1488.  
  1489. -----------------------------------------------------------------------------
  1490.    NAME
  1491.         SVL_AddSVDriver
  1492.  
  1493.    SYNOPSIS
  1494.  
  1495.         ULONG SVL_AddSVDriver(UBYTE *name)
  1496.         D0    -$d8            A1
  1497.  
  1498.    FUNCTION
  1499.  
  1500.         Tries to open the specified SVDriver (full AmigaDOS-Path) and
  1501.         attempts to add it to the internal Lists.
  1502.  
  1503.         ***
  1504.         REMEMBER TO UPDATE YOUR PROGRAM'S INTERNAL SVDRIVER-LISTS
  1505.         AFTER SUCH AN ACTION !
  1506.         ***
  1507.  
  1508.    INPUT(S)
  1509.  
  1510.         name - full AmigaDOS-Path of the SVDriver to add to the lists
  1511.  
  1512.    RESULT
  1513.  
  1514.         boolean value
  1515.  
  1516.    WARNING
  1517.  
  1518.         This function invalidates the internal SVDriver-List of
  1519.         superview.library.
  1520.         Remember to update your personal copies of this list,
  1521.         before accessing any specific SVDrivers again
  1522.         (e.g. for displaying graphics).
  1523.  
  1524.         Secondly, it is not checked, whether the added Library is
  1525.         _really_ a SVDriver.
  1526.         Adding other libraries may result in a damaged internal
  1527.         SVDriver-List in superview.library.
  1528.  
  1529.    SINCE
  1530.  
  1531.         ... version 7 of the superview.library.
  1532.  
  1533.    SEE ALSO
  1534.  
  1535.         SVL_AddSVObject
  1536.  
  1537. -----------------------------------------------------------------------------
  1538.  
  1539.    NAME
  1540.         SVL_GetFileType
  1541.  
  1542.    SYNOPSIS
  1543.  
  1544.         ULONG SVL_GetFileType(APTR handle, char *filename, ULONG *filetype)
  1545.         D0    -$de            A1           A2              A3
  1546.  
  1547.    FUNCTION
  1548.  
  1549.         Finds out superview-specific FileType-Code
  1550.         (redefined with every re-initialization of the Library) or
  1551.         SV_FILE_TYPE_UNKNOWN (== NULL == FALSE).
  1552.  
  1553.         Use the following call for a simple check :
  1554.  
  1555.         handle   = SVL_AllocHandle(N);
  1556.         sverr    = SVL_GetFileType(handle, filename, &filetype);
  1557.                    SVL_FreeHandle(handle);
  1558.  
  1559.         This handle should NOT be used for any further operations
  1560.         on the file (will be opened and checked twice but only
  1561.         closed once, etc).
  1562.         Initialization operations are allowed nevertheless
  1563.         (e.g. SVL_InitHandleAsClip() ).
  1564.  
  1565.         Note, that this function fills in FILETYPES, not SUBTYPES.
  1566.         For e.g. writing you must specify SUBTYPES
  1567.         (ILBM-0, ILBM-1 or GIF87, GIF89a).
  1568.  
  1569.         FILETYPES are only for short identification and do only
  1570.         specify the global file type (ILBM, GIF, PCX).
  1571.  
  1572.    INPUT(S)
  1573.  
  1574.         handle   - a valid handle
  1575.         filename - a valid AmigaDOS FilePath and -Name
  1576.         filetype - pointer to ULONG for SV_FILETYPE-Value
  1577.  
  1578.    RESULT
  1579.  
  1580.         NULL or an adequate SVERR-Errorcode.
  1581.  
  1582.    SINCE
  1583.  
  1584.         ... version 8 of the superview.library.
  1585.  
  1586.    SEE ALSO
  1587.  
  1588.         SVL_AllocHandle(), SVL_FreeHandle()
  1589.  
  1590. -----------------------------------------------------------------------------
  1591.